package com.yxx.service;

import com.yxx.entityModel.vo.Result.PageResult;
import com.yxx.entityModel.vo.query.CarouselQuery;
import com.yxx.entityModel.vo.request.CarouselRequest;
import com.yxx.entityModel.vo.request.CarouselStatusRequest;
import com.yxx.entityModel.vo.response.CarouselBackResponse;
import com.yxx.entityModel.vo.response.CarouselResponse;
import org.springframework.web.multipart.MultipartFile;

import java.util.List;

/**
 * @author yuxiangxun
 * @date 2025/2/1
 * @apiNote
 */
public interface CarouselService {
    /**
     * 查看轮播图列表
     * @return
     */
    List<CarouselResponse> getCarouselList();

    /**
     * 查看轮播图列表
     * @param carouselQuery
     * @return
     */
    PageResult<CarouselBackResponse> getCarouselListVO(CarouselQuery carouselQuery);

    /**
     * 上传轮播图
     * @param file
     * @return
     */
    String uploadCarousel(MultipartFile file);

    /**
     * 添加轮播图
     * @param carouselRequest
     */
    void addCarousel(CarouselRequest carouselRequest);

    /**
     * 修改轮播图
     * @param carouselRequest
     */
    void updateCarousel(CarouselRequest carouselRequest);

    /**
     * 删除轮播图
     * @param carouselIdList
     */
    boolean removeByIds(List<Integer> carouselIdList);

    /**
     * 修改轮播图状态
     * @param carouselStatusRequest
     */
    void updateCarouselStatus(CarouselStatusRequest carouselStatusRequest);
}
